package com.max.mysql.c3p0;


import com.max.mysql.utils.JDBCPoolUtils;
import com.mchange.v2.c3p0.ComboPooledDataSource;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;

public class BaseCRUD {
    /**
     * 需要一个c3p0的配置文件
     * @param args
     */

    public static void main(String[] args) {
//        c3p0GetInfo();
//        c3p0MyDefine();

    }

    /**
     * 采用配置文件的方式：
     */
    public static void c3p0GetInfo(){
        Connection conn = null;
        PreparedStatement pstmt = null;
        ResultSet rs = null;
        try{
            // 获得连接：从连接池中获取：
            conn = JDBCPoolUtils.getConnection();
            // 编写SQL：
            String sql = "select * from droi_emp";
            // 预编译SQL:
            pstmt = conn.prepareStatement(sql);
            // 执行SQL：
            rs = pstmt.executeQuery();
            while(rs.next()){
                System.out.println(rs);
            }
        }catch(Exception e){
            e.printStackTrace();
        }finally{
            JDBCPoolUtils.release(rs, pstmt, conn);
        }
    }

    /**
     * 手动设置参数的方式:
     */
    public static void c3p0MyDefine(){
        Connection conn = null;
        PreparedStatement pstmt = null;
        ResultSet rs = null;
        try{
            // 获得连接：从连接池中获取：
            // 创建连接池：
            ComboPooledDataSource dataSource = new ComboPooledDataSource();
            // 设置连接参数:
            dataSource.setDriverClass("com.mysql.jdbc.Driver");
            dataSource.setJdbcUrl("jdbc:mysql://127.0.0.1:3306/droi");
            dataSource.setUser("root");
            dataSource.setPassword("123456");
            // 从连接池中获得连接:
            conn = dataSource.getConnection();
            // 编写SQL：
            String sql = "select * from droi_emp";
            // 预编译SQL:
            pstmt = conn.prepareStatement(sql);
            // 执行SQL：
            rs = pstmt.executeQuery();
            while(rs.next()){
                System.out.println(rs);
            }
        }catch(Exception e){
            e.printStackTrace();
        }finally{
            JDBCPoolUtils.release(rs, pstmt, conn);
        }
    }
}
